"""
深拷贝和浅拷贝介绍:
    概述:
        大白话解释就是 深拷贝拷贝的多, 浅拷贝拷贝的少.
    细节(记忆):
        1. 深浅拷贝区别就是: 拷贝的层级的多与少.
        2. 深浅拷贝都能操作可变类型 和 不可变类型, 但是深浅拷贝一般操作的都是 可变类型, 几乎不会出操作不可变类型的.
        3. 回顾, 我们之前学过 可变类型 和 不可变类型的划分依据: 在不改变地址值的情况下, 元素值是否可以发生改变, 可以: 可变类型, 不可以: 不可变类型.
            可变类型:   列表, 字典, 集合
            不可变类型:  整型, 浮点型, 字符串, 布尔型, 元组
        4. 深浅拷贝指的是 copy模块下的不同的函数.
            浅拷贝: copy.copy()
            深拷贝: copy.deepcopy()
"""
# 需求：演示可变和不可变类型
# a = 10
# print(id(a))    # 140719544177736
# a = 20          # 内容改变
# print(id(a))    # 140719544178056，内容一旦改变，地址值也改变了 = 不可变类型
#
# print("--------------------")
# list1 = [11, 22, 33]
# print(id(list1)) # 1964743022144
# list1[1] = 200
# print(id(list1)) # 1964743022144
# print(list1)     # 修改后的内容[11, 200, 33]， 内容变了，地址值没变 = 可变类型
def demo_普通赋值():
    a = 10
    b = a

    print('id(a) ->', id(a))
    print('id(b) ->', id(b))

    a = [1, 2, 3]
    b = [11, 22, 33]
    c = [a, b]
    d = c
    print("id(c)->", id(c))
    print("id(d)->", id(d))

if __name__ == '__main__':
    demo_普通赋值()


